#ifndef EDITORCOMPASESPATRON_H
#define EDITORCOMPASESPATRON_H

#include "editordatos.h"
#include "paneltabla.h"
#include "preparadortabla.h"
#include "compas.h"
#include "proyecto.h"

class EditorCompasesPatron : public EditorDatos
{
    Q_OBJECT
public:
    EditorCompasesPatron(QWidget* ventanaPadre);
    ~EditorCompasesPatron();

    bool mostrarDialogoSeleccion(Compas& compas); 

    QString getIdentificadorDialogo(bool edicion) { 
        return edicion ? "edicion compas patron" : "seleccion compas patron"; }

	void setListaCompases(QList<Compas> listaCompases) { this->listaCompases = listaCompases; }
	QList<Compas> getListaCompases() { return listaCompases; }

    void setProyecto(Proyecto* proyecto) { this->proyecto = proyecto; }

protected:
    void prepararTabla(PanelTabla* panelTabla, bool edicion);
    virtual void actualizarTabla();

    virtual void anadirDatos(Compas compas) {
        listaCompases.append(compas);
    }
    virtual void eliminarDatos(int indice) { 
        listaCompases.removeAt(indice);
    }

protected slots:
    void nuevo() {}
	void anadir(); 
    void modificar() {}
    void copiar() { }
    void eliminar();   
    void subir();
    void bajar();
    void seleccionado() {}

public slots:
    void actualizar() { actualizarTabla(); }

protected:
    QList<Compas> listaCompases;
    PreparadorTabla<Compas> preparadorTabla;  
    Proyecto* proyecto;
};


#endif // EDITORCOMPASESPATRON_H
